package com.example.demo.zzzLiKou;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

/**
 * @Create: IntelliJ IDEA.
 * @Author: subtlman_ljx
 * @Date: 2022/09/21/16:23
 * @Description: 两个数组的交集
 */
public class Algorithm19 {

    /**
     * 力扣算法題 易
     *
     * 给定两个数组 nums1和 nums2 ，返回它们的交集 。
     * 输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序 。
     *
     * 示例1
     * 输入：nums1 = [1,2,2,1], nums2 = [2,2]
     * 输出：[2]
     *
     * 示例2
     * 输入：nums1 = [4,9,5], nums2 = [9,4,9,8,4]
     * 输出：[9,4]
     * 解释：[4,9] 也是可通过的
     *
     */
    public int[] intersection(int[] nums1, int[] nums2) {
        List<Integer> list = new ArrayList<>();
        for(int i=0;i<nums1.length;i++){
            int a=nums1[i];
            for(int j=0;j<nums2.length;j++){
                if(a==nums2[j]){
                    list.add(a);
                }
            }
        }
        //去重
        HashSet<Integer> set = new HashSet<>(list);
        //转换成数组
        return set.stream().mapToInt(Integer::intValue).toArray();
    }

}
